var Cart = {
	self: [],
	
	// Добавление товаря в корзину
	buy: function(initiater, productId, sizeId) {
		initiater.addClass('blocked');
		$.ajax({  
			type: "POST",  
			url: W_AJAX + "cart/buy",  
			data: {
				ID_product: productId,
				ID_size: sizeId
			},
			dataType: "json",
			success: function(objData) {
				if (objData.result == 'OK') window.location.href = '/cart';
				else App.showError(objData.error);
				initiater.removeClass('blocked');
			}
		});
	},
	
	// Удаление товара из корзины 
	deleteProduct: function(productId, sizeId) {
		$.ajax({  
			type: "POST",  
			url: W_AJAX + "cart/delete",  
			data: {
				ID_product: productId,
				ID_size: sizeId
			},
			dataType: "json",
			success: function(objData) {
				if (objData.result == 'OK') window.location.href = '/cart';
				else App.showError(objData.error);
			}
		});
	},
	
	// Пересчитываем корзину
	recalculate: function() {
		var arrProducts = [];
		
		$('.cart-box .product-item').each(function() {
			arrProducts.push({
				'ID_product': $(this).data('product-id'),
				'ID_size': $(this).data('size-id'),
				'nr_product': $('.count input', this).val()
			});
		});
		
		$.ajax({  
			type: "POST",  
			url: W_AJAX + "cart/recalculate",  
			data: {
				products: arrProducts
			},
			dataType: "json",
			success: function(objData) {
				if (objData.result == 'OK') window.location.href = '/cart';
				else App.showError(objData.error);
			}
		});
	}
};

$().ready(function() {
	Cart.self = $('.cart');
	
	// Обработка события при покупки товара
	$('.buy').click(function() {
		if($(this).hasClass('blocked')) return false;
		Cart.buy($(this), $(this).data('product-id'), $('.all-sizes select').val());
		return false;
	});
});

$('.cart-page').livequery(function() {
	
	$('.cart-box .delete img').click(function() {
		var productItem = $(this).closest('.product-item');
		Cart.deleteProduct(productItem.data('product-id'), productItem.data('size-id'));
	});
	
	$('.cart-box .recalculate').click(function() {
		Cart.recalculate();
		return false;
	});
	
});